package com.jz.community.modulemine.net;

import com.jz.community.basecomm.bean.BaseResponseText;
import com.jz.community.basecomm.constant.Constant;
import com.jz.community.modulemine.bean.RedpackageResult;
import com.jz.community.modulemine.bean.ShareBean;
import com.jz.community.modulemine.bean.SignAwardBean;
import com.jz.community.modulemine.bean.SignDataBean;
import com.jz.community.modulemine.bean.SignResultBean;
import com.jz.community.modulemine.bean.UserChangeOtherBean;
import com.jz.community.modulemine.bean.UserInfoResultBean;
import com.jz.community.modulemine.bean.VersionBean;

import io.reactivex.Observable;
import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.GET;
import retrofit2.http.POST;
import retrofit2.http.PUT;
import retrofit2.http.Path;
import retrofit2.http.Query;

/**
 * Created by Admin on 2018/3/28 0028.
 */

public interface MineNetApi {

    @POST(Constant.CHECK_WIFI_REGISTER)
    Observable<BaseResponseText> checkWifiRegister(@Query("mobile") String mobile);

    @GET(Constant.MEMBER_SIGN_DATA)
    Observable<SignDataBean> memberSignData();

    @POST(Constant.CLICK_SIGN)
    Observable<SignResultBean> clcikSign(@Body RequestBody body);

    @POST(Constant.SIGN_AWARD)
    Observable<SignAwardBean> SignAward();

    @GET(Constant.UPDATE_VERSION)
    Observable<VersionBean> updateVersion(@Query("operations") int operations, @Query("appNum") int appType, @Query("appVersion") String appVersion);

    @POST(Constant.LOGIN_OUT)
    Observable<BaseResponseText> memberLoginOut(@Query("token") String token);

    @PUT(Constant.CHANGE_PASSWORD)
    Observable<UserChangeOtherBean> changePassword(@Query("userId") String userId, @Query("oldPassword") String oldPassword, @Query("newPassword") String newPassword);

    @GET(Constant.UNREAD_COUNT)
    Observable<Integer> unreadCount(@Query("type") String type);

    @GET(Constant.SHARE_GIFT)
    Observable<ShareBean> initShareGift();


}
